package co.com.javeriana.aes.patrones.proveedor;

import java.io.IOException;
import java.sql.SQLException;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import co.com.javeriana.aes.patrones.dao.DAO;
import co.com.javeriana.aes.patrones.endpoint.Consumo;
import co.com.javeriana.aes.patrones.endpoint.Envio;
import co.com.javeriana.aes.patrones.saiii.cliente.topics.Topicos;
import co.com.javeriana.aes.patrones.saiii.dto.*;

public class ProveedorModelo extends Consumo {	
	
	Map<Topicos, Object> parametros = new HashMap<Topicos, Object>();
	DAO dao = new DAO();
	Envio producer;
	
	public ProveedorModelo(String endPointName) throws IOException {
		super(endPointName);
	}	

	@Override
	public void Resultado(Topicos operacion, Object valor)
	{
		switch (operacion) {
		case REGISTRAR_CLIENTE:
			break;
			
		case LEER_PRODUCTOS:
			
			try {
				List<Producto> productos = dao.consultarProductos();
				producer = new Envio(Topicos.LEER_PRODUCTOS.name());
				parametros.clear();
				parametros.put(Topicos.LEER_PRODUCTOS, productos);
				producer.sendMessage(parametros);
				producer.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		
			break;

		default:
			break;
		}
		System.out.print(operacion);
	}	
}
